package Map_Study.TreeMap_01;

import java.util.TreeMap;

public class TreeMapDemo1 {
    /*
        TreeMap和TreeSet底层原理一样，都是红黑树结构
        由键决定特性：不重复，无索引，可排序
        可排序：
            对键进行排序（默认按照由大到小排序，也可以自己规定排序的规则）
        书写排序规则：
            1.在Javabean类种实现Comparable接口，重写方法
            2.在创建集合的时候传递Comparator比较器对象，指定比较规则

        需求1：
            键：整数表示id
            值：字符串表示商品名称
            要求：按照id的升序排列、按照id的降序排列
     */

    public static void main(String[] args) {
        TreeMap<Integer, String> tm1 = new TreeMap<>();
        tm1.put(2,"可口可乐");
        tm1.put(1,"百事可乐");
        tm1.put(4,"冰红茶");
        tm1.put(3,"元气森林");
        //升序
        System.out.println(tm1);

        System.out.println("---------------");

        TreeMap<Integer, String> tm2 = new TreeMap<>((o1, o2) -> o2- o1);
        tm2.put(2,"可口可乐");
        tm2.put(1,"百事可乐");
        tm2.put(4,"冰红茶");
        tm2.put(3,"元气森林");
        //降序
        System.out.println(tm2);
    }
}
